
/**
 * The type of a function is FUNC(ret-type, arg1_type, ...)
 * @author MLB
 *
 */
class FunctionType extends Type{
	 boolean _defined = false;

	 /**
	  * Constructor: the return type is set. Types of arguments must be
	  * added with the help of the addSubType method.
	  * @param ret Type: type of the result
	  */
    public FunctionType( Type ret){
		  super("FUNC",-1);
		  _type_expression.addSubType(ret);
    }
	 
    public boolean isProto(){
		  return !_defined;
    }

    public void proto2function(){
		  _defined = true;
    }
	
}
